Skip to main content

APP_config.h 定义

APP_config.h 定义

宏定义设置和作用列表

宏定义名称作用描述功能模块
CFG_APP_USB_PLAY_MODE_EN启用USB播放模式,用于播放USB U盘中的文件系统功能模式配置
CFG_APP_CARD_PLAY_MODE_EN启用SD卡播放模式,用于播放SD卡中的文件系统功能模式配置
CFG_APP_LINEIN_MODE_EN启用线路输入模式,通过LINE-IN播放外部音频信号系统功能模式配置
CFG_APP_BT_MODE_EN启用蓝牙功能,支持蓝牙音频输入输出系统功能模式配置
CFG_APP_RADIOIN_MODE_EN启用收音机功能系统功能模式配置
CFG_APP_OPTICAL_MODE_EN启用光纤SPDIF输入模式系统功能模式配置
CFG_APP_COAXIAL_MODE_EN启用同轴SPDIF输入模式系统功能模式配置
CFG_APP_I2SIN_MODE_EN启用I2S音频输入模式系统功能模式配置
CFG_FUNC_AUDIO_EFFECT_EN启用音效功能,总音效开关音频配置
CFG_FUNC_MUSIC_EQ_MODE_EN启用音乐EQ模式,用于不同类型的音效切换音频配置
CFG_FUNC_MIC_KARAOKE_EN启用麦克风卡拉OK功能音频配置
CFG_FUNC_SW_DEBUG_EN开启B0, B1端口用于调试和仿真功能选择调试功能
CFG_CHIP_BP10128选择芯片型号为BP10128(128针)芯片型号选择配置
CFG_FUNC_BT_BACKGROUND_RUN_EN开启蓝牙后台运行,允许在其他模式下运行蓝牙功能蓝牙配置
CFG_FUNC_RECORDER_EN启用录音功能录音功能配置
CFG_FUNC_RECORD_SD_UDISK将录音内容保存到SD卡或U盘录音功能配置
CFG_FUNC_BREAKPOINT_EN启用断点记忆功能,在播放过程中记录位置系统功能配置
CFG_FUNC_REMIND_SOUND_EN启用提示音功能提示音配置
CFG_FUNC_REMIND_WAKEUP深度休眠后启用开机提示音提示音配置
CFG_FUNC_DEEPSLEEP_EN启用深度休眠功能,降低功耗低功耗管理
CFG_FUNC_IDLE_TASK_LOW_POWER使能OS空闲任务时进入低功耗模式低功耗管理
CFG_FUNC_USB_DEVICE_EN启用USB设备模式,用于音频输出、调音等功能USB功能配置
CFG_FUNC_RTC_EN启用RTC实时时钟,用于时间跟踪实时时钟配置
CFG_FUNC_ALARM_EN启用闹钟功能,需要RTC支持实时时钟配置
CFG_FUNC_SHELL_EN启用Shell调试功能,通过命令行接口调试系统调试功能
CFG_FUNC_DEBUG_EN启用UART调试功能调试功能
CFG_USE_SW_UART启用软件模拟UART调试功能
CFG_FUNC_POWER_MONITOR_EN启用电源监测功能,用于电池电压监测和充电指示电源监测配置
CFG_RES_IR_KEY_USE启用红外遥控按键功能按键配置
CFG_RES_ADC_KEY_USE启用ADC按键功能按键配置
CFG_FUNC_SPDIF_EN启用SPDIF功能,用于光纤或同轴音频输入音频输入配置
CFG_FUNC_BACKUP_EN启用数据备份功能,包括电源按键功能数据备份配置
CFG_GPIO_RESET_HOLD_EN启用GPIO复位保持功能,在复位或看门狗复位时保持IO状态GPIO配置
CFG_FUNC_STRING_CONVERT_EN启用字符编码转换功能,用于文本信息的编码转换字符处理功能
CFG_FUNC_FREQ_ADJUST启用采样率微调功能,确保不同音源的同步音频同步配置
CFG_FUNC_RECORDER_FIFO_N录音FIFO缓冲区的个数,用于录音数据的存储缓冲录音配置

宏定义分类简述

  1. 系统功能模式配置: 控制系统支持的功能模式,如USB播放、SD卡播放、蓝牙、HDMI等。
  2. 音频配置: 包含音效功能、麦克风卡拉OK、EQ模式等,旨在提升音频体验。
  3. 调试功能: 包含软件调试和硬件调试设置,主要用于开发过程中调试代码和验证功能。
  4. 低功耗管理: 涉及深度休眠、空闲任务低功耗等,确保系统在非活动状态下的能耗最低。
  5. 实时时钟配置: 包含RTC和闹钟功能,支持时间相关的应用。
  6. 电源监测配置: 提供电池监测及充电指示,适用于电池供电的设备。
  7. 按键配置: 包含对红外遥控、ADC按键等输入设备的支持。
  8. USB功能配置: 包括USB设备和音频相关功能。
  9. GPIO配置: 控制GPIO的电平和复位状态。
  10. 字符处理功能: 提供文本编码转换功能。
  11. 数据备份配置: 用于数据保存、断电恢复等场景。
  12. 录音配置: 涉及录音功能的设置,如录音存储、增益调节、缓冲区管理等。

在提供的.h文件中,确实涉及了多个GPIO的配置。这些GPIO端口被用于各种功能,如按键检测、音频输入/输出、蓝牙等。我将为您列出所有涉及的GPIO配置及其对应功能,整理为如下表格:

GPIO配置表格

GPIO名称宏定义或GPIO端口描述用途描述功能模块
GPIOA9LINEIN_DET_GPIO线路输入(Line-In)检测音频输入
GPIOA10CFG_UART_COMMUNICATION_TX_PINUART调试的TX端口通信接口配置
GPIOB4GPIOB5CFG_RADIO_IIC_HANDLER收音机I2C接口,用于RDA5807芯片的I2C通信收音机控制
GPIOA26CFG_RES_ADC_KEY_PORT_CH2ADC按键接口,用于检测ADC按键按键配置
GPIOA30SPDIF_OPTICAL_INDEXSPDIF光纤输入的GPIO端口光纤音频输入
GPIOA31SPDIF_COAXIAL_INDEXSPDIF同轴输入的GPIO端口同轴音频输入
GPIOA23CARD_DETECT_GPIOSD卡检测引脚存储设备检测
GPIOA20GPIOA21GPIOA22CFG_RES_CARD_GPIOSD卡使用的GPIO端口,SDIO数据线存储设备接口
GPIOA29HDMI_ARC_RECV_IO_PINHDMI ARC接收端口,用于ARC功能HDMI功能
GPIOA27HDMI_CEC_IO_INDEXHDMI CEC(消费电子控制)HDMI控制
GPIOA16CARD_DETECT_GPIOSD卡检测引脚存储设备检测
GPIOB6GPIOB7CFG_RES_IR_PINIR红外接收引脚,用于红外遥控功能红外遥控
GPIOA8GPIOA9CFG_CODE_KEY1P_PIN, CFG_CODE_KEY1N_PIN编码器按键编码旋钮按键
GPIOA24HDMI_HPD_CHECK_STATUS_IO_PINHDMI HPD检测,用于检测HDMI设备的插入HDMI检测
GPIOB1SPDIF_OPTICAL_INDEXSPDIF光纤输入数字接口光纤音频输入
GPIOA21CARD_DETECT_GPIOSD卡检测端口,用于检测SD卡的插入状态存储设备检测

说明:

  1. GPIO 用途分类
    • 音频输入/输出:用于SPDIF光纤和同轴输入,以及线路输入的检测。
    • 通信接口:用于调试的UART通信端口和收音机I2C接口配置。
    • 按键输入:包括ADC按键、编码旋钮按键以及IR红外接收按键。
    • HDMI功能:用于实现HDMI ARC(音频回传)和CEC(消费电子控制)功能,还包括HPD(热插拔检测)引脚。
    • 存储设备检测:SD卡插入/弹出检测,GPIO端口用于监测SD卡状态。
  2. GPIO的重要性
    • 这些GPIO的配置决定了系统的硬件功能,因此在实际电路设计和固件编写过程中,必须严格按照这些定义来进行电路布线,以确保功能的正常实现。
  3. 常见的注意事项
    • 确保不同功能之间的GPIO没有冲突。例如,调试用的UART端口与其他接口复用时需要小心,以避免运行中的冲突。
    • 根据具体应用选择合适的GPIO。比如,高清音频输入/输出和HDMI检测等功能的GPIO必须在PCB设计阶段合理规划,避免干扰。

如果您需要更详细的解读或者对某些GPIO配置进行修改,请告诉我。

main_task.h文档

是对 main_task.h 中宏定义、结构体以及函数的作用的详细总结,按表格形式列出:

宏定义

宏定义作用说明
SoftFlagNoRemind提示音故障标志。用于标记系统当前是否存在提示音故障。
SoftFlagDecoderRun解码器正在运行标志。用于表示解码器是否正在运行。
SoftFlagDecoderSwitch解码器切换标志。用于标记解码器是否正在切换。
SoftFlagDecoderApp解码器被应用复用标志。用于标记解码器是否被应用层使用。
SoftFlagDecoderRemind提示音占用解码器标志。用于标记解码器是否被提示音占用。
SoftFlagRecording录音进行标记。用于标记录音状态,防止模式切换时进行非法操作。
SoftFlagPlayback回放进行标记。用于标记是否在播放状态。
SoftFlagDeepSleepRequest深度睡眠请求标志。用于标记是否请求进入深度睡眠模式。
SoftFlagRemindMask屏蔽提示音阶段标志。用于控制在某些模式(如通话模式)下不播放提示音。
MEDIA_VOLUME_STR_C表示 "C" 类型设备的路径,用于访问设备存储。
MEDIA_VOLUME_STR_U表示 "U" 类型设备的路径,用于访问设备存储。
MEDIA_VOLUME_C表示 "C" 类型设备的编号。
MEDIA_VOLUME_U表示 "U" 类型设备的编号。
CFG_APP_USB_AUDIO_MODE_EN判断是否启用了 USB 音频模式,根据条件来定义设备等待时间。

结构体

结构体名称结构体成员及作用
TWS_PAIR_STATE定义了 TWS 配对的状态,如配对开始、配对中、配对成功等。用于管理蓝牙音频的配对过程。
ModeState描述系统的工作模式,如进入模式、工作模式、退出模式、暂停模式等。用于系统模式管理。
SysVolContext管理音频源和接收端的音量状态,包含静音标志和音量控制数组,用于音频处理。
MainAppContext存储主应用程序的上下文信息,包括任务句柄、消息句柄、音频缓冲区、音量、模式状态等,负责管理主应用的生命周期和状态。
TWS_CONFIG用于配置 TWS(True Wireless Stereo)相关设置,如音频模式、同步播放提示音等。

函数

函数名作用说明
MainAppTaskStart启动主应用程序任务。通常用于初始化硬件、创建任务、启动调度器等。
GetMainMessageHandle获取主应用程序的消息处理句柄,用于消息的接收和处理。
GetSystemMode获取系统当前的工作模式。
IsBtAudioMode判断当前是否为蓝牙音频模式。
IsBtTwsSlaveMode判断当前是否为蓝牙 TWS 从机模式。
AudioDACSinkBufClear清空音频 DAC 接收缓冲区,通常用于音频输出清理。
AudioADC1ParamsSet设置音频 ADC1 的参数,如采样率等。
ResumeAudioCoreMicSource恢复音频核心的麦克风数据源。
BtTwsEnterPeerPairingMode使蓝牙 TWS 进入配对模式。
EqModeSet设置音效模式(EQ 模式)。
TwsSyncPowerOff同步关机事件,通常用于 TWS 配对的断开电源处理。
MainTaskMsgSend发送消息到主任务,用于任务间通信。

总结

  • 宏定义:定义了一些常量和标志,用于控制系统状态、任务行为和模式切换等,便于任务间的同步和状态管理。
  • 结构体:包含了管理音频、模式、TWS 配对和主任务上下文的核心数据,存储了任务运行时所需的各种信息和资源。
  • 函数:提供了管理系统模式、音频配置、TWS 配对和任务间通信的接口,功能覆盖了主任务生命周期的各个方面。